
import '../lib/jquery.js'
import {ajax} from '../utils/ajax.js'
import { nameTest, pwdTest, nickTest } from "../utils/reg.js";

//当表单提交时
$('form').on('submit', async function(e) {
    //阻止默认行为
    e.preventDefault();

    //获取表单
    let username = $('.username').val();
    let password = $('.password').val();
    let rpassword = $('.rpassword').val();
    let nickname = $('.nickname').val();

    //验证空串以及格式
    if (username === '' || password === '' || rpassword == '' || nickname == '') {
        alert('表单不能为空');
        return;
    }
    if (!nameTest(username)) {
        alert('用户名格式错误');
        return;
    }
    if (!pwdTest(password)) {
        alert('密码格式错误');
        return;
    }
    if (!nickTest(nickname)) {
        alert('昵称格式错误');
        return 
    }
    //两个密码是否一致
    if (password != rpassword) {
        alert('两次密码不一致');
        return;
    }
     // 准备发送到服务器的注册数据。
     const registrationData = {
        username: username,
        password: password,
        rpassword: rpassword,
        nickname: nickname
    };
    try {
    // 发送异步POST请求到服务器注册API，传递用户注册信息。
    const response = await ajax.post('/users/register', registrationData);

    // 从响应中解析服务端返回的状态码。
    const { code } = response.data;

    // 根据状态码判断注册是否成功。
    // 如果注册失败（code不等于1），显示错误信息并返回。
    if (code !== 1) {
        $('.error').css('display', 'block'); // 显示错误信息元素。
        return;
    }

    // 注册成功，提示用户并跳转到登录页面。
    alert('注册成功，请登录。');
    location.href = './login.html'; // 跳转到登录页面。
    }catch (error) {
        showError(error.message || '注册时发生未知错误');
    }
});